const Koa = require('koa')
const app = new Koa()
const router = require('koa-router')()
const PORT = 3000

// nodemon 只需要监听入口
// "dev": "npx nodemon ./app.js"
// 注册 里面的参数是一个函数，又叫中间件，可以使用async await 模型来调用
app.use(async (ctx, next) => {
  // ctx => request response 的合集
  // ctx.query => 获取get参数
  // ctx.path => 请求地址
  // ctx.url => 请求的路径
  // ctx.host => 请求主机
  // ctx.method => 请求方式
  ctx.body = {
    code: 0,
    msg: 'sucess',
    data: {
      query: ctx.query,
      path: ctx.path,
      url: ctx.url,
      host: ctx.host,
      method: ctx.method,
    },
  }
})

app.use(async (ctx, next) => {
  console.log('我是第二个 中间件')
})

app.listen(PORT, () => {
  console.log(`http://localhost:${PORT}`)
})
